package com.lizhi.yun.core.handler;/**
 * @program: sfrobot-html
 * @name AssessHandler
 * @description: 康复评估
 * @author: lizhi
 * @create: 2020-05-08 16:19
 */

import com.lizhi.common.yun.entity.ListResponseResult;
import com.lizhi.utils.StringUtils;
import com.lizhi.utils.json.SamJsonUtil;
import com.lizhi.yun.db.stand.dao.StandAssessInfoDao;
import com.lizhi.yun.db.stand.dao.StandPtInfoDao;
import com.lizhi.yun.db.stand.pojo.StandAssessInfoPOJO;
import com.lizhi.yun.db.stand.pojo.StandPtInfoPOJO;
import com.lizhi.mybatis.interceptor.PageBounds;
import com.lizhi.yun.deploy.NewBaseHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

/**
 *@program: sfrobot-html
 *@name AssessHandler
 *@description: 康复评估
 *@author: lizhi
 *@create: 2020-05-08 16:19
 */
@Slf4j
@Service
public class ServiceAssessHandler extends NewBaseHandler {

    @Resource
    private StandPtInfoDao standPtInfoDao;

    @Resource
    private StandAssessInfoDao standAssessInfoDao;

    /**
     *功能描述 查询所有的评估信息
     * @author lizhi
     * @date 2020/6/4
     * @param json:
     * @return com.lizhi.common.entity.ListResult<com.lizhi.db.pojo.StandPtInfoPOJO>
     */
    public ListResponseResult doMain(String json) {
        Map<String, Object> map = SamJsonUtil.toMap(json);
        PageBounds pageBounds = getPageBounds(map);
        List<StandAssessInfoPOJO> listStandAssessInfoPOJOs = standAssessInfoDao.selectByMap(map, pageBounds);
        for (int i =0; i < listStandAssessInfoPOJOs.size(); i++){
            StandAssessInfoPOJO standAssessInfoPOJO = listStandAssessInfoPOJOs.get(i);
            StandPtInfoPOJO standPtInfoPOJO = standPtInfoDao.selectById(standAssessInfoPOJO.getPtId(), standAssessInfoPOJO.getHospitalId(), standAssessInfoPOJO.getHospitalSystemId());
            if (!StringUtils.isEmpty(standPtInfoPOJO)){
                standAssessInfoPOJO.setPtAge(standPtInfoPOJO.getPtAge());
                standAssessInfoPOJO.setPtNm(standPtInfoPOJO.getPtNm());
                standAssessInfoPOJO.setPtSex(standPtInfoPOJO.getPtSex());
                standAssessInfoPOJO.setPtSexText(standPtInfoPOJO.getPtSexText());
                standAssessInfoPOJO.setPtDoctor(standPtInfoPOJO.getPtDoctor());
            }
        }
        /*return getListResult(pageBounds.getCountRows(), listStandAssessInfoPOJOs, map);*/
        return getListResult(pageBounds.getCountRows(), listStandAssessInfoPOJOs, map);
    }

    /**
     * 根据id查询评估信息
     * @param assId
     * @return
     */
    public ListResponseResult selectById(String assId, String hospitalId, String hospitalSystemId){
        StandAssessInfoPOJO standAssessInfoPOJO = standAssessInfoDao.selectById(assId, hospitalId, hospitalSystemId);
        return getListResult(standAssessInfoPOJO);
    }
}
